package com.eight.cloud.payment.service;

import com.eight.cloud.mybatisplus.service.IBaseService;
import com.eight.cloud.payment.entity.MerchantAppEntity;
import com.eight.cloud.payment.model.vo.MerchantAppVo;

import java.util.List;

/**
*  服务类
*
* @ClassName: IMerchantAppService
* @Author TXC
* @Date 2025-01-07 17:22
*/
public interface IMerchantAppService extends IBaseService<MerchantAppEntity> {

    /**
     * 授权应用
     * @param appid appid
     * @param merchantId 商户id
     * @param subAppid 子商户appid
     * @return 是否授权成功
     */
    boolean authorizeApp(String appid, String merchantId, String subAppid);

    /**
     * 撤销授权
     * @param appid appid
     * @param merchantId 商户id
     * @return 是否撤销成功
     */
    boolean cancelAuthorizeApp(String appid, String merchantId);

    /**
     * 查询商户应用列表
     * @param merchantId 商户号
     * @return 商户应用列表
     */
    List<MerchantAppEntity> getMerchantAppList(String merchantId);


    /**
     * 判断是否授权
     * @param appid appid
     * @param merchantId 商户号
     * @return 是否授权成功
     */
    boolean isAuthorizeApp(String appid, String merchantId);


    /**
     * 获取授权应用
     * @param appid appid
     * @param merchantId 商户号
     * @return 授权应用
     */
    MerchantAppVo getAuthorizeApp(String appid, String merchantId);

}
